package com.fwx.mybatis_03.mapper;

import com.fwx.mybatis_03.pojo.Book;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface BookMapper {
    List<Book> findAll();
    List<Book> findBookByName(String name);
    Book findBookByParam(@Param("booName") String name , @Param("booAuth") String auth);
    Book findBookByMap(Map<String,Object> map);
    Book findBookByName_ID_auth(String name,String ID,String auth);

    /**查询结果没有实体类所对应，用map去封装**/
    Map<String,Object> findBookByParamToMap(@Param("id")String id,@Param("name")String name);

    /**多个map结果无实体类对应**/
    List<Map<String,Object>> findAllBookToListMap();

    /**多条数据结果无实体类对应，放到一个map中**/
    @MapKey("ID")//选出一个字段值做key,将每条数据作为值
    Map<String,Object> findAllBookToMap();

    /**模糊查询**/
    List<Book> findBookLike(@Param("name")String bookname);
    int addBook(Book book);
    int delBook();
    int updBook();
    /**批量新增**/
    int BatchInsert(@Param("BookList") List<Book> list);
    int BatchInsert2(@Param("BookList") List<Book> list);
    /**通过ID批量删除**/
    int BatchDelete(@Param("ids") String ids);
    int BatchDelete2(@Param("array") String[] arr);
}
